package com.ruoyi.oa.service;

import com.ruoyi.oa.domain.EmployeeInfo;
import com.ruoyi.oa.domain.vo.EmployeeInfoVo;
import com.ruoyi.oa.domain.bo.EmployeeInfoBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 员工信息Service接口
 *
 * @author ruoyi
 * @date 2023-06-21
 */
public interface IEmployeeInfoService {

    /**
     * 查询员工信息
     */
    EmployeeInfoVo queryById(String id);

    /**
     * 查询员工信息列表
     */
    TableDataInfo<EmployeeInfoVo> queryPageList(EmployeeInfoBo bo, PageQuery pageQuery);

    /**
     * 查询员工信息列表
     */
    List<EmployeeInfoVo> queryList(EmployeeInfoBo bo);

    /**
     * 新增员工信息
     */
     EmployeeInfoBo insertByBo(EmployeeInfoBo bo);

    /**
     * 修改员工信息
     */
    EmployeeInfo updateByBo(EmployeeInfoBo bo);

    /**
     * 校验并批量删除员工信息信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}
